#pragma once

#include <semaphore.hpp>
#include <task_run.hpp>
#include <work_queue_run.hpp>

class WorkQueueUtils
{
public:
	WorkQueueUtils();

	~WorkQueueUtils();

	static WorkQueueUtils* Instance();

	void Start(int priority, int stackSize, int rate, const char* taskName, int cpuId);

	void Append(int priority, WorkQueue* workQueue);

private:
	std::map<int, WorkQueueRun*> m_WQRuns;
};